Information exchange method, information processor, information gathering system, communication method, communication system, intermediary device, and communication device

ABSTRACT

The present invention relates to, for transmitting information by a server from an information gathering device to a terminal device, an information exchange method, an information processor, a communication method, a communication system, an intermediary device, and a communication device. It is directed to provide an information exchange method, an information processor, a communication method, a communication system, an intermediary device, and a communication device with which pieces of streaming video information gathered by a number of information gathering devices can be exchanged efficiently. A feature thereof lies in linking each of the terminal devices to the information gathering device that gathers a given number of pieces of streaming video information that are asked for from its linked terminal device, out of the plurality information gathering devices, directing the information gathering devices to deliver the given number of pieces of streaming video information directly to their linked terminal device, and producing and displaying, by the terminal devices, a predetermined certain screen including a given number of streaming video images that has been delivered.

TECHNICAL FIELD

The present invention relates to an information exchange method, aninformation processor, an information gathering system, a communicationmethod, a communication system, an intermediary device, and acommunication device, and more particularly, for transmittinginformation by a server from an information gathering device to aterminal device, to an information exchange method, and an informationprocessor, an information gathering system, a communication method, acommunication system, an intermediary device, and a communicationdevice.

BACKGROUND ART

FIG. 1 is a diagram showing a system configuration of a conventionalinformation exchange system.

Conventional information exchange system 1 is configured in such amanner that information gathering devices 11-1 to 11-n, a server 12, andterminal devices 13-1 to 13-m are allowed to communicate with each otherthrough a network 14.

The information gathering devices 11-1 to 11-n may be, for example,video cameras that take pictures of their surroundings to collect piecesof live streaming video image information. It should be noted that theinformation gathering devices 11-1 to 11-n may be those that providepieces of streaming video information in real time.

The n pieces of real-time and/or live streaming video image informationgathered by the information gathering devices 11-1 to 11-n are suppliedto the server 12 through the network 14. The server 12 distributes anddelivers these pieces of real-time and/or live streaming video imageinformation gathered by the information gathering devices 11-1 to 11-nto the individual terminal devices 13-1 to 13-m, in answer to a requestfrom the terminal devices 13-1 to 13-m.

It should be noted that the conventional information gathering systemsof the type described are designed for cases where the number of piecesof the streaming video image information to be exchanged is moreoverwhelming than the number of users, so the server 12 is required tohave a high processing capacity.

To this end, the conventional information exchange methods of the typedescribed collect the pieces of streaming video information gathered bythe information gathering devices 11-1 to 11-n on the server 12 beforedistributing and delivering them to the terminal devices 13-1 to 13-m inanswer to their requests. Therefore, problems lie in that it causes hugeprocessing loads on the server 12.

In addition, the server 12 is accessed by all terminal devices 13-1 to13-m that ask for the pieces of streaming video information gathered bythe information gathering devices 11-1 to 11-n. Problems lie in thatincrease in the number of the terminal devices 13-1 to 13-m graduallyreduces the communication rate and, in some cases, may cause missingframes from the streaming video information.

FIG. 2 is a diagram for explaining the operation of a conventionalcontent exchange system.

A content exchange system 20 is configured in such a manner that aclient 21 and a server 22 are allowed to communicate with each otherthrough a network 23. Upon a request from the client 21 to the server22, the server 22 provides the client 21 with a content that is askedfor by the client 21 through the network 23.

In this event, a user should work on his or her client 21 to find aserver 22 which includes a content that he or she needs and access thatserver 22. In addition, he or she cannot choose a communication routefrom the client 21 to the server 22.

In the network 23, individual routers Rt can automatically determine theoptimum route for communication, and data are transmitted through thecommunication route selected by these routers Rt.

As apparent from the above, any clients 21 wanting to obtain necessarycontent(s) should access a certain server22 in the conventional contentexchange system 20, and they should find the server 22 which stores thecontent(s) they want. Therefore, problems lie in that user's operationbecomes complicated.

In addition, in the conventional content exchange system 20, acommunication route is automatically selected by the routers Rt includedin the network 23. The routers Rt determine the optimum path dependingon the traffic over their surrounding communication paths. They do nottake into account the traffic on the downstream paths. Consequently, theoverall communication rate of a selected route could possibly be slow.This means that the entire routing is not taken into account.

The present invention was made with respect to the above-mentionedissues, and an object thereof is to provide an information exchangemethod, an information processor, and an information gathering systemwith which pieces of streaming video information gathered by a number ofinformation gathering devices can be exchanged efficiently.

In addition, the present invention was made with respect to theabove-mentioned issues, and an object thereof is to provide acommunication method, a communication system, an intermediary device,and a communication device with which a content that is asked for by aclient can be obtained at a high speed.

SUMMARY OF THE INVENTION

The present invention is featured in linking each of the terminaldevices to the information gathering device that gathers a given numberof pieces of streaming video information that are asked for from itslinked terminal device, out of the plurality information gatheringdevices, directing the information gathering devices to deliver thegiven number of pieces of streaming video information directly to theirlinked terminal device, and producing and displaying, by the terminaldevices, a predetermined certain screen including a given number ofstreaming video images that has been delivered.

According to the present invention, the streaming video information issupplied to the terminal devices directly from the information gatheringdevice(s) that are selected by a user. The server is not required tohandle the streaming video information, so that operations in the serverwill be reduced. Each terminal device directly accesses a selectedinformation gathering device or devices. Consequently, the access to theinformation gathering devices is spread. The capacity of the informationgathering devices is not necessary to be increased.

The present invention is also featured in that the server obtains a linkdestination address of the respective information gathering devices thatgather the given number of streaming video images that are asked forfrom the terminal devices and notifies the terminal devices of theircorresponding link destination addresses, each of the terminal devicesbeing adapted to access the information gathering device specified bythe link destination address that is obtained from the server in orderto directly obtain a predetermined piece of streaming video information.

According to the present invention, the server is only required toobtain the link destination address of the respective informationgathering devices that gather the given number of streaming video imagesthat are asked for from the terminal devices and notifies the terminaldevices of their corresponding link destination addresses. This reducesprocess loads.

In addition, the present invention is featured in that the server makesa request to each of the information gathering devices that gather agiven number of streaming video images that are asked for from each ofthe terminal devices, the information gathering devices being directedto supply directly to their linked terminal devices the streaming videoinformation in response to a request from the server.

According to the present invention, the server makes a request to eachof the information gathering devices, and the information gatheringdevices are directed to supply directly to their linked terminal devicesthe streaming video information in response to a request from theserver. This reduces the number of communication steps performed betweenthe server and the terminal devices. Streaming video information canthus be exchanged at a high speed.

According to the present invention, the server makes a request to eachof the information gathering devices, and the information gatheringdevices are directed to supply directly to their linked terminal devicesthe streaming video information in response to a request from theserver, thereby the number of communication steps performed between theserver and the terminal devices can be reduced and streaming videoinformation can thus be exchanged at a high speed.

Furthermore, the present invention is featured in that each of theterminal devices accesses its linked information gathering device(s)according to a link destination setting table received by the server.

According to the present invention, the server sends the linkdestination setting table to the terminal devices, and each of theterminal devices accesses its linked content server(s) according to thelink destination setting table. This prevents access concentration to acertain content server out of the content servers, so that loads on thecontent servers can be spread.

In addition, the present invention is featured in comparing the linkdestination setting table that is previously held therein with the linkdestination setting table that is sent from the terminal devices uponaccess to their linked information gathering devices in order to controlaccess by the terminal devices.

According to the present invention, access control can be ensured bymeans of performing authorization using the link destination settingtable received from the server.

In addition, the present invention is featured in a communication methodfor transmitting packets between a client and a server through aplurality of intermediary devices, comprising: performing communicationsmore than once by using a certain command between the client and theserver; detecting a communication route of the certain command by meansof measuring a communication performance during the communications andadding the addresses of the intermediary devices to the certain commandon an add-per-passage basis; and performing communications between theclient and the server through the communication route which yields themaximum communication performance with respect to the communicationroute.

According to the present invention, communications can be done throughthe communication route which yields the maximum communicationperformance. This allows comfortable communication.

Moreover, the present invention is featured in an intermediary devicewhich intermediates a client and a server, comprising: command detectionmeans for detecting a certain command that is transmitted between theclient and the server; route information detection means for detectingroute information contained in communication data that are transmittedbetween the client and the server; and intermediacy control means whichis adapted to send the certain command to a network after adding itslocal address to it when the certain command is detected, theintermediacy control means relaying the communication data when itslocal address is contained in the route information detected by theroute information detection means.

According to the present invention, each of the intermediary devices addits local address to the certain command, which makes it possible toidentify a communication route between a client and the server. Inaddition, the route information contained in the communication data isrecognized by the intermediary device to relay the communication data.This makes it possible to transmit the communication data through thecommunication route according to the route information.

The present invention is a communication system for performingcommunications between a client and a server through a network,comprising: bypassing means which allows communication between theclient and the server while bypassing the network.

The present invention is featured in comprising: measuring means formeasuring a communication performance between the client and the server;and communication control means that causes the bypassing means tobypass the network when the communication performance measured by themeasuring means is lowered under a certain level.

According to the present invention, communication can be performed at ahigh speed by means of bypassing the network using the bypassing meanswhen a communication performance during the communication between aclient and the server is not good.

The present invention is featured in a communication system forperforming communications between a client and a server through anetwork, wherein the server comprises a node server adapted to accept arequest from the client; and a content server adapted to send, to theclient, a content that is asked for by the client in answer to a requestfrom the node server.

The present invention is featured in a communication system forperforming communications between a client and a server through anetwork, wherein the server comprises a content server which provides acontent to the client; and a node server adapted to accept a requestfrom the client and to provide the client with link destinationinformation of the content server that stores a content that is askedfor by the client; the client being adapted to ask for a content to thecontent server according to the link destination information from thenode server.

According to the present invention, burdens of operations can be dividedamong the node server(s) and the content server(s).

The present invention is featured in that the node server has ahierarchical structure based on the content or its link destination; thenode server having a function to backup information about contentsmanaged by node servers at upper and lower levels.

According to the present invention, by configuring the node servers in ahierarchical structure based on the clients that access thereto. Thisreduces process loads of the individual node servers.

The present invention is featured in a communication device forperforming communications with a client through a network, thecommunication device being adapted to provide a content to the client bymeans of accessing a content server that provides content in answer to arequest from the client, comprising: caching means for caching contentsin the content server according to the frequency of accesses from theclient; the communication device being adapted to send, to the client, acashed content in answer to a request from the client.

According to the present invention, the contents in the content serverare cached in the node server according to the frequency of accessesfrom the client. This makes it possible to deliver a content from thenode server to the client without passing through the content server.Therefore, it is possible to provide a content to the client at a highspeed.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram showing a system configuration of a conventionalinformation exchange system;

FIG. 2 is a diagram showing a system configuration of a conventionalcontent exchange system;

FIG. 3 is a diagram showing a system configuration according to a firstembodiment of the present invention;

FIG. 4 is a block diagram of a terminal device 103-i;

FIG. 5 is a block diagram of a server 102;

FIG. 6 is a diagram showing a data structure of a link destinationinformation region 123 b;

FIG. 7 is a block diagram of an information gathering device 101-i;

FIG. 8 is a process flowchart according to the first embodiment of thepresent invention;

FIG. 9 is a view illustrating a player screen;

FIG. 10 is a process flowchart of a modified version of the firstembodiment of the present invention;

FIG. 11 is a process flowchart of a second modified version;

FIG. 12 is a diagram showing a data structure of a link destinationsetting table;

FIG. 13 is a diagram showing a system configuration of a contentexchange system according to a second embodiment of the presentinvention;

FIG. 14 is a diagram showing a data structure of a packet containing arouting command;

FIG. 15 is a diagram showing a data structure of a packet containing arequest from a client 301 to a node server 303;

FIG. 16 is a diagram showing a data structure of a packet containing acontent from a content server 304 to a client;

FIG. 17 is a diagram showing a data structure of a route table;

FIG. 18 is a diagram showing a data structure of a route informationtable;

FIG. 19 is a diagram showing a system configuration of a modifiedversion of the second embodiment of the present invention;

FIG. 20 is a diagram for explaining the operation of the modifiedversion of the second embodiment of the present invention;

FIG. 21 is a diagram showing a system configuration according to a thirdembodiment of the present invention;

FIG. 22 is a diagram illustrating a hierarchical structure of nodeservers;

FIG. 23 is a diagram showing a data structure of an address table;

FIG. 24 is a diagram showing a data structure of a cache table;

FIG. 25 is a diagram showing a data structure of a statistics table;

FIG. 26 is a process flowchart that is performed by a node server 902;and

FIG. 27 is a configuration diagram of essential parts which is appliedto a case where a node server 902 contains address tables 911 at theupper and lower levels of the hierarchical structure.

BEST MODE FOR CARRYING OUT THE INVENTION First Embodiment

FIG. 3 is a diagram showing a system configuration according to a firstembodiment of the present invention. In this figure, similar componentsand parts to those illustrated in FIG. 1 are depicted by like referencenumerals, and descriptions thereof will be omitted.

The difference of an information exchange system 100 of this embodimentfrom the conventional systems lies in operations of informationgathering devices 101-1 to 101-n, a server 102, and terminal devices103-1 to 103-m.

In the information exchange system 100 according to this embodiment,when one terminal device 103-i of the terminal devices 103-1 to 103-masks for a content to the server 102, the server 102 returns a linkdestination to the terminal device 103-i. The terminal device 103-iobtains a content directly from the linked information gathering devices101-1 and 101-2 of the information gathering devices 101-1 to 101-n anddisplays the content.

First, a configuration of a predetermined terminal device 103-i of theterminal devices 103-1 to 103-m is described.

FIG. 4 is a block diagram of the terminal device 103-i.

The terminal device 103-i is configured having an input device 111, aCPU 112, a ROM 113, a hard disk drive 114, a RAM 115, a communicationdevice 116, and a display unit 117.

The input device 111 may be a keyboard or a mouse that is used forcommand or data input. The CPU 112 performs data processing according toa program stored in the ROM 113 and the hard disk drive 114. In the ROM113, programs such as BIOS and initial setting information are stored.In the hard disk drive 114, program and data such as a player fordisplaying a streaming video image from a plurality of informationgathering devices 101-1 to 101-n are stored. The RAM 115 is used as atemporary storage area for the CPU 112.

The communication device 116 performs communication control with thenetwork 14. The display unit 117 may be a CRT or an LCD on whichcontents and so on are displayed.

Next, a configuration of the server 102 is described.

FIG. 5 is a block diagram of the server 102.

The server 102 is configured having a CPU 121, a ROM 122, a hard diskdrive 123, a RAM 124, and a communication device 125. The CPU 121processes the information according to a program stored in the ROM 122and the hard disk drive 123. In the ROM 122, BIOS and various settingvalues are stored.

The hard disk drive 123 is configured having a program region 123 a anda link destination information region 123 b. The program region 123 astores a program that is used for finding the link destinationinformation region 123 b, determining a link destination, and notifyingthe terminal device 103-i of it, according to a request from theterminal device 103-i as will be described below.

FIG. 6 is a diagram showing a data structure of the link destinationinformation region 123 b.

The link destination information region 123 b has a structure in whichlink destination addresses A1 to Ak are defined for respective selectionchannels S1 to Sk. By designating a selection channel Sk, acorresponding link destination address Ak can be determined.

The RAM 124 is used as a temporary storage area for the CPU 121. Thecommunication device 125 performs communication control with the network14.

Next, a configuration of one information gathering device 101-i of theinformation gathering devices 101-1 to 101-n is described.

FIG. 7 is a block diagram of the information gathering device 101-i.

The information gathering device 101-i is configured having a videocamera unit 131, an image processor 132, and a communication device 133.

The video camera unit 131 takes streaming video images of itssurroundings. The streaming video images taken by the video camera unit131 are supplied to the image processor 132. The image processor 132performs operations, such as compression operations, necessary for thetransmission of the streaming video images on the information of thestreaming video images taken by the video camera unit 131. The streamingvideo image information processed by the image processor 132 is suppliedto the communication device 133. The communication device 133 performsoperations to send the streaming video image information to the terminaldevice 103-i through the network 14 according to a request from theterminal device 103-i, as will be described below.

Next, an operation for a case where a plurality of channels are selectedby the terminal device 103-i is described with reference to thedrawings.

FIG. 8 is a process flowchart according to one embodiment of the presentinvention.

First, when a player is run on the terminal device 103-i, a playerscreen is displayed.

FIG. 9 is a view showing a player screen.

The player screen includes streaming video image display sections D1 andD2 and a channel menu display section D3.

For example, in the streaming video image display section D1, astreaming video image from one information gathering device of theinformation gathering devices 101-1 to 101-n is displayed. In addition,in the streaming video image display section D2, a streaming video imagefrom one information gathering device of the information gatheringdevices 101-1 to 101-n is displayed.

Furthermore, in the channel menu display section D3, a channel list Lch,a channel selection button B1, a selection button B2, and an OK buttonB3 are displayed.

First, a user selects a channel through which he or she wants to receivestreaming video images, on the player screen in step S1-1. In responseto this, the terminal device 103-i sends a request to the server 102 instep S1-2. This request includes a selection channel information that isused by the user to fix the desired channel.

The user refers to a channel list Lch in the channel menu displaysection D3, and uses the channel selection button B1 to select a desiredchannel. Then, he or she uses the selection button B2. By activation ofthe selection button B2, the channel to be displayed on the streamingvideo image display section D1 is selected. The channel to be displayedon the streaming video image display section D2 is also selected. Next,after the selection of the channels to be displayed on the streamingvideo image display sections D1 and D2, the user sends a request to theserver 102 by using the OK button B3.

After accepting the request including the selection channel informationfrom the terminal device 103-i in step S2-1, the server 102 analyzes theaccepted request and obtains the selection channel information, in stepS2-2. Next, the server 102 looks for the link destination informationregion 123 b according to the selection channel information and obtainsa link destination address in step S2-3. Subsequently, the server 102notifies the terminal device 103-i of the link destination address, instep S2-4.

After accepting the link destination address for the selected channelfrom the server 102 in step S1-3, the terminal device 103-i asks for acontent from a device or devices identified by the accepted linkdestination address, such as the information gathering devices 101-1 and101-2, in step S1-4.

After accepting the request from the terminal device 103-i in step S3-1,the information gathering device 101-1 sends the content, that is, thestreaming video image information that is taken by the video camera unit131, to the terminal device 103-i, in step S3-2. Likewise, afteraccepting the request from the terminal device 103-i in step S4-1, theinformation gathering device 101-2 sends the content, that is, thestreaming video image information that is taken by the video camera unit131, to the terminal device 103-i, in step S4-2.

After receiving the contents, i.e., the pieces of streaming video imageinformation, from the information gathering devices 101-1 and 101-2 instep S1-5, the terminal device 103-i produces the player screen with thereceived streaming video images and displays the result, in step S1-6.

With the above-mentioned process, the streaming video images on theselected channels, i.e., the streaming video images collected by theinformation gathering devices 101-1 and 101-2 are displayed in real timeon the terminal device 103-i. In this event, the pieces of streamingvideo image information are directly supplied from the informationgathering devices 101-1 and 101-2 to the terminal device 103-i. Theterminal devices 103-1 to 103-m access the server 102 only for thepurpose of obtaining a link destination address. This can reduce theprocess load on the server 102.

If, for example, there are a number of information gathering devices101-1 to 101-n, the terminal devices 103-1 to 103-m are less likely toflock to one information gathering device and, accordingly, it isexpected that the access from the terminal devices 103-1 to 103-m isspread across them. The capacity of the information gathering devices isnot necessary to be increased.

In the terminal device 103-i, contents from the information gatheringdevices 101-1 to 101-2, i.e., the pieces of streaming video imageinformation are combined with a predetermined screen specified by theplayer and displayed. The resulting representation causes the user ofthe terminal device 103-i to feel as if he or she accesses the server101-2. The user is not aware that the streaming video information isdirectly sent from the information gathering devices 101-1 to 102.

In this embodiment, when the terminal device 103-i makes a request tothe server 102, the server 102 notifies the terminal device 103-i of thelink destination address, and the terminal device 103-i accesses theinformation gathering devices 101-1 and 101-2 to obtain streaming videoimages. However, the server 102 may directly make a push request to theinformation gathering devices 101-1 and 101-2 to be linked, and each ofthe information gathering devices 101-1 and 101-2 may send streamingvideo image information to the terminal device 103-i.

FIG. 10 shows a process flowchart of a modified version of the firstembodiment of the present invention. In the figure, similar operationsand steps to those in FIG. 8 are depicted by like reference numerals,and description thereof will be omitted.

In this modified version, when the server 102 obtains an accessdestination address in step S2-3, the server 102 makes a push request tothe information gathering devices 101-1 and 101-2 designated by the linkdestination addresses, in step S2-11.

After accepting the push request from the server 102 in the steps S3-1and S4-1, the information gathering devices 101-1 and 101-2 send astreaming video image to the terminal device 103-i according to the pushrequest from the server 102, in the steps S3-2 and S4-2, respectively.

According to this modified version, communication with the terminaldevice 103-i can be simplified.

The information exchange system 100 of this embodiment works better oncases where a number of information gathering devices are contained. Forexample, good results can be achieved when the information gatheringdevices are surveillance cameras along a river.

River monitoring is performed over a wide range of areas. A number ofsurveillance cameras are required for this purpose. It is impossible tomonitor the images from these surveillance cameras altogether. In such acase, monitoring on the district basis provides better effects.

However, if the images from many surveillance cameras are managedaltogether in the server 102 and are divided for districts as was doneconventionally, the process load on the server 102 will increase. Thisraises the need to enhance the capacity of the server 102 and thecommunication lines.

On the contrary, in this embodiment, the terminal devices 103-1 to 103-mobtains the real-time and/or live streaming video images directly fromthe information gathering devices 101-1 to 101-n, so that the server 102is not required to process the real-time and/or live streaming videoimages and distribute them to the individual terminal devices 103-1 to103-m. This reduces process load on the server 102. In addition, it isunnecessary for the server to transmit large volumes of data such asstreaming video images, eliminating. This eliminates the necessity ofwidening the band of, for example, communication lines. Thejust-mentioned advantages ensure reliable delivery of necessaryinformation and allow inexpensive configuration of a system.

Furthermore, the real-time or/and live streaming video images aresupplied directly from the surveillance cameras as the informationgathering devices 101-1 to 101-n to the terminal devices 103-1 to 103-m.Unless the access to a certain information gathering device, that is, acertain surveillance camera of the information gathering devices 101-1to 101-n, is increasing, traffic concentration on the informationgathering device can be avoided, so that problems such as frame dropoutswill not occur. All pieces of information can thus be obtained withoutfail.

This embodiment assumes a case where the access to a certain informationgathering device is not extremely increased, that is, a case where thenumber n of the information gathering devices is relatively larger thanthe number m of the terminal devices. It works better on suchsituations. For example, this applies to cases where there are a numberof information gathering devices and where there are a lot of locationsto be covered for security monitoring, for example, over a large areasuch as rivers, schools, offices, and factories, which are difficult tobe monitored at the same time.

This embodiment avoids extreme concentration of access to a certaininformation gathering device. Real-time and/or live streaming videoinformation can be reproduced without frame dropouts. Therefore, it issuitable for monitoring associated with anticrime or disaster-preventionpurposes.

It should be noted that pieces of real-time or/and live streaming videoinformation are supplied from the information gathering devices 101-1 to101-n to the terminal device 103-i and are displayed thereon. However,information other than video information, such asdisaster-prevention/anticrime information, community information,administrative information, environmental information, andinfrastructural information, may be supplied from the server 102 anddisplayed.

In addition, this embodiment has been described in conjunction with thecase where a plurality of streaming video images are displayed on apredetermined screen defined by the player in the terminal devices 103-1to 103-m. However, two or more streaming video images may be displayedon different screens.

Alternatively, the terminal devices 103-1 to 103-m may be provided fromthe server 102 with a link destination setting table in which linkdestinations are dispersed so that process loads of the informationgathering devices 101-1 to 101-n are distributed, and a predeterminedterminal device 103-i of the terminal devices 103-1 to 103-m may beallowed to link only to the information gathering device 101 that isspecified in the link destination setting table, in order to distributethe process loads of the information gathering devices 101-1 to 101-n.

FIG. 11 shows a process flowchart of the second modified version.

The server 102 sends a link destination setting table to the terminaldevices 103-1 to 103-m, in step S11-1.

FIG. 12 is a diagram showing a data structure of a link destinationsetting table.

A link destination setting table 200 includes genre codes and linkdestination URLs for respective channels stored therein. Differentpatterns of link destination setting table 200 are defined for theterminal devices 103-1 to 103-m. For example, they are defined withdifferent combinations of channels and links.

A predetermined terminal device 103-i of the terminal devices 103-1 to103-m stores the link destination setting table from the server 102, instep S12-1. The terminal devices 103-1 to 103-m are allowed to gatherdesired information from the link destination setting table 200.

When a user selects a channel that he or she wants to watch and listenfrom the link destination setting table 200 in step S12-2, apredetermined terminal device 103-i of the terminal devices 103-1 to103-m sends, to the server 102, the selected channel along with the linkdestination setting table 200, in step S12-3. The server 102 determines,in step S11-2, whether the link destination setting table 200 from theterminal device 103-i is previously registered or not.

When step S11-2 indicates that the link destination setting table 200 isthe one that is previously registered, the server 102 permitstransmittance of information from the terminal device 103-i and theinformation gathering device 101-i on the selected channel, in stepS11-3.

When step S11-2 indicates that the link destination setting table 200 isnot a previously registered one, the server 102 notifies the terminaldevice 103-i of an error, in step S11-4. In response to the reception ofthe notification of error from the server 102, the terminal device 103-idisplays the error, in step S12-4.

In this way, the different patterns of link destination setting table200 for the terminal devices 103-1 to 103-m allow authentication usingthe link destination setting table 200. It should be noted thatunauthorized access can be prevented by updating the link destinationsetting table 200 regularly.

When linking is permitted and a link request is received from the server102 in step S13-1, the information gathering device 101-i sends theinformation such as a real-time image gathered in step S13-2 to theterminal device 103-i.

After receiving the gathered pieces of information from the informationgathering device 101-i in step S12-5, the terminal device 103-i displaysthe received information in a predetermined small area within a displaywindow.

Although the server 102 manages the link destination setting table 200in this embodiment, it may be managed by the information gatheringdevices 101-1 to 101-i. By managing the link destination setting table200 on the information gathering devices 101-1 to 101-i, even when thesystem on the server 102 is out of service, the information gatheringdevices 101-1 to 101-i can perform authentication operation and providethe gathered information.

The above embodiment has thus been described in conjunction with anexample of the river surveillance cameras, but it is not limitedthereto. The information gathering devices 101-1 to 101-i may bereplaced with the content server to deliver a desired content orcontents.

According to this modified version, the server 102 sends the linkdestination setting table 200 to the terminal devices 103-1 to 103-m,and each of the terminal devices 103-1 to 103-m accesses the informationgathering devices 101-1 to 101-n according to the link destinationsetting table 200. Access concentration to a certain informationgathering device of the information gathering devices 101-1 to 101-nwill not occur, allowing distribution of the loads of the informationgathering devices 101-1 to 101-n.

Furthermore, according to this modified example, by performingauthentication using the link destination setting table 200 suppliedfrom the server 102, access control can be done surely. In addition,this modified example can be applied to a push request.

Second Embodiment

FIG. 13 is a diagram showing a system configuration of a secondembodiment of the present invention.

A content exchange system 300 of this embodiment is configured having aclient 301, a network 302, a node server 303, and a content server 304.

The client 301 makes a request to the node server 303 through thenetwork 302. The node server 303 makes a push request to the contentserver 304 in response to the request from the client 301.

The content server 304 sends the content to the client 301 through thenetwork 302 in response to the push request from the node server 303.The client 301 displays the content from the content server 304. Itshould be noted that the node server 303 may let a link destinationreply in response to a request from the client 301 and the client 301may have direct access to the content server 304 to provide the contentto the client 301.

In addition, the network 302 has a net-like structure of communicationroutes L connecting a plurality of routers Rt. The router Rt finds theoptimum communication route L according to the destination IP address ofa received packet, and sends the received packet to the communicationroute L.

Here, the system of this embodiment is configured in such a manner thatthe route from the client 301 to the node server 303 or the route fromthe content server 304 to the client 301 can be determined previously.The route to be used is determined by means of sending a routing commandfrom the client 301 to the node server 303 or from the content server304 to the client 301.

First, the routing command is described.

FIG. 14 is a diagram showing a data structure of a packet containing arouting command.

A routing command 400 consists of a header section 401 and a datasection 402. The header section 401 contains header information 411 suchas an identification number of a datagram, an IP address 412 of asending computer, and an IP address 413 of a destination computer.Furthermore, the header section 401 has an option region 414. A user isallowed to record information in the option region 414.

The data section 402 contains a routing command 421 and an addresshistory information 422. The routing command 421 is a command forsearching a routing to obtain the optimum communication route. Theaddress history information 422 stores the number 431 of relays and IPaddresses 432-1 to 432-n of the relayed routers Rt. The address historyinformation 422 is updated every time when the packet passes through arouter Rt.

By sending the above-mentioned routing command 400 from the client 301to the node server 303, the node server 303 can obtain the addresshistory information 422 from the client 301 to the node server 303. Inaddition, by sending it from the content server 303 to the client 301,the client 301 can obtain the address history information 422 from thecontent server 304 to the client 301. This address history information422 is used as route information from the client 301 to the node server303 or route information from the content server 304 to the client 301.

The client 301 obtains from the node server 303, at the time of sendinga request, route information from the client 301 to the node server 303,creates the route information according to the obtained address historyinformation 422, adds it to the request, and send them.

FIG. 15 is a diagram showing a data structure of a packet including arequest to be sent from the client 301 to the node server 303. In thefigure, similar components and parts to those in FIG. 13 are depicted bylike reference numerals and description thereof will be omitted.

In a packet 500 including a request to be sent from the client 301 tothe node server 303, for example, the option region 414 of the headersection 401 contains the number 431 of relays and the IP addresses 432-1to 432-n of the relayed routers Rt. In addition, a request 511 is set inthe data section 402.

The router Rt refers to the option region 414 of the header section 401to determine the subsequent route. It should be noted that, when acontent is supplied from the content server 304 to the client 301, thecontent may be transmitted through a desired route by setting thecontent in the data section 402 in place of the request.

The request to be supplied from the client 301 to the node server 303 issupplied to the node server 303 through the router(s) Rt correspondingto the routing address(es) that is/are associated with the request. Inaddition, the content to be supplied from the content server 304 to theclient 301 is supplied to the client 301 through the router(s) Rtcorresponding to the routing address(es) that is/are associated with thecontent.

Next, operation of each router Rt is described.

FIG. 16 shows an operation flowchart for a router Rt.

When receiving a packet in step S21-1, the router Rt analyzes thereceived packet in step S21-2. The router Rt determines in step S21-3whether the received data is a routing command or not according to theresult of the analysis.

When the result of the determination in step S21-3 indicates that it isthe routing command, the router Rt accepts the received packet andperforms a predetermined operation, in step S21-4. Then, the router Rtadds its local IP address to the address history information in therouting command in the packet and sends the packet to a downstreamcommunication route L, in step S21-5. In this event, the router Rt findsthe optimum communication route L according to the destination IPaddress in the packet and sends the packet.

By repeating the above-mentioned steps S21-1 to S21-5, a route from theclient 301 to the node server 303 can be detected. The detected routemay be named and stored in a route table provided in the node server303.

FIG. 17 is a diagram showing a data structure of a route table.

A route table 600 contains IP addresses A11 to A1 m . . . An1 to Anm ofthe passed routers Rt for respective route names R1 to Rn.

The node server 303 has a route information table for each route storedin the route table 600.

FIG. 18 is a diagram showing a data structure of a route informationtable.

A route information table 700 has information related to routes storedtherein for respective route names R1, R2, . . . , Rn. The informationmay be, for example, information about periods of time T11 to T12 . . .Tn1 to Tn2 during which comfortable use is allowed, data transfer ratesS1 to Sn, and response times Tres1 to Tresn.

The node server 303 refers to the route information table 700 in answerto a request from the client 301, finds the optimum route, reads therouting address of it from the route table 600, and supplies it to theclient 301.

The client 301 puts the routing address received from the node server303 into the option region 414 of the packet and sends a request.

It should be noted that the route table 600 and the route informationtable 700 in this embodiment are kept in the node server 303, but theymay be kept in the client 301.

Now, returning to FIG. 16, description continues.

When the packet supplied is not the routing command in step S21-3, thatis, for example, when it is a packet in which a request or a content isset as data, the routing address information 432-1 to 432-n in theoption region 414 within the packet is analyzed in step S21-6.

Next, in step S21-7, it is determined whether the routing addresscontains the IP address of the local router Rt according to the resultobtained in step S21-6. When, in step S21-7, the IP address of the localrouter Rt is contained in the routing address, the subject router isconsidered as being the router Rt which the packet should pass through.The router accepts the packet, performs a predetermined operation, andthereafter, sends the packet to a subsequent routing address(es), instep S21-8.

When, in step S21-7, the IP address of the local router Rt is notcontained in the routing address information 432-1 to 432-n, then therouter returns the received packet to the packet sending router Rt instep S21-9. The packet sending router Rt sends the packet to anotherdownstream communication route L.

By repeating the operations in the above-mentioned steps S21-1 to S21-3and S21-6 to S21-9 by the routers Rt, the packet from the client 301 issupplied to the node server 303 through a predetermined route.

Likewise, the node server 303 sends a routing command through thecontent server 304 to the client 301 according to a request from theclient 301. This makes it possible to obtain a route from the contentserver 304 to the client 301. By managing the route table 600 and theroute information table 700 in the client 301 and supplying the routingaddress to the node server 303 upon a request for example, the route forthe content to be supplied from the content server 304 to the client 301can be optimized.

It should be noted that the routing address obtained in the client 301may be supplied to the node server 303 by the routing command from thecontent server 304 and the node server 303 may manage the route table600 and the route information table 700 for determining the route fromthe content server 304 to the client 301. In such a case, the optimumrouting address is provided along with a push request to the contentserver 304 upon a request from the client 301. The content server 304adds the routing address to the option region 414 of the packetcontaining the content to be supplied to the client 301 and sends thecontent. This allows the content to be supplied to the client 301through the optimum route designated by the routing address.

If the route designated by the routing address is congested, a satellitemay be used to bypass the congested portion in the network 302.

FIG. 19 is a diagram showing a system configuration of a modifiedversion of one embodiment of the present invention. FIG. 20 is a diagramfor explaining the operation of the modified version of one embodimentof the present invention. In these figures, similar components and partsto those in FIG. 13 are depicted by like reference numerals, anddescription thereof will be omitted.

This modified version is featured by comprising a satellitecommunication system 800.

If no response is made for a predetermined period of time in step S22-2after the client 301 makes a request to the node server 303 in stepS22-1, the client 301 sends a request to a satellite base 801 that isprovided nearby in step S22-3. When the satellite base 801 receives therequest from the client 301 in step S22-11, it sends the request fromthe client 301 to a satellite base 803 near the node server 303 throughthe satellite 802 in step S22-12. In this event, the satellite base 801determines the satellite base 803 according to the destination IPaddress of the request. The satellite base 803 sends the request to thenode server 303 according to the destination IP address of the requestin step S22-13.

In addition, when the node server 303 receives the request from thesatellite base 803 in step S22-21, it sends a push request to thecontent server 304 according to the request supplied from the satellitebase 803 in step S22-22. When the content server 304 receives therequest from the node server 303 in step S22-31, it sends a contenttoward the client 301 according to the push request from the node server303 in step S22-32. The content from the content server 304 is firstsupplied to the satellite base 803 provided nearby. The satellite base803 sends the content to the satellite base 801 near the client 301through the satellite 802 in step S22-14. In this event, the satellitebase 803 determines the satellite base 801 according to the destinationIP address of the content. The satellite base 801 sends the content tothe client 301 according to the destination IP address of the content.

When the client 301 receives the content from the satellite base 801 inthe step 22-4, it displays the received content in step S22-5.

As described above, by sending requests or contents using the satellitesystem 800, contents can be exchanged at a high speed regardless of thestatus of the network 302.

It should be noted that, the network 302 detects congestion and uses thesatellite system 800 automatically in this modified version, but thesatellite system 800 may be utilized when necessary through theoperation by a user of the client 301, or a node server 303, or acontent server 304. This makes it possible to provide contents withoutfail regardless of the state of the network 302.

Alternatively, contents may be downloaded to a node server depending onthe frequency of accesses in order to immediately cope with a requestfrom a client.

Third Embodiment

FIG. 21 is a diagram showing a system configuration of a thirdembodiment of the present invention. FIG. 22 is a diagram showing ahierarchical structure of a node server.

A content exchange system 900 of this embodiment has a configuration inwhich clients 901, node servers 902, and content servers 903 areconnected through a network 904.

The node server 902 may have a hierarchical structure on a regionalbasis as shown in FIG. 22. The client 901 usually makes a request to anode server 902 at the lowest level. The node server 902 has an addresstable, a cache table, and a statistics table. It makes a push request tothe content server(s) 903 and also makes a request to a node server(s)902 at the upper or lower level(s) according to these tables.

The node server 902 first refers to the address table according to therequest from the client 901.

FIG. 23 is a diagram showing a data structure of an address table.

The address table 911 contains, for each content, URLs of the contentservers 903 from which the content is supplied, call destinationaddresses of the cache table, and link destination addresses to the nodeservers 902 that manage the content.

When the node server 902 is designated by the request from the client901 and a content C1 on a channel ch1 is designated, it refers to thecache table address of a corresponding portion in the address table 911.The cache table address of the content C1 on the channel ch1 isconsidered to be a valid address. Therefore, it then refers to data of acorresponding cache table address in the cache table.

When an invalid cache table address is stored as in a content C2 on thechannel ch1 of the address table 911 shown in FIG. 23, this is a casewhere that node server 902 does not manage the content that is askedfor. In such a case, a link destination address L2 of the node server902 is indicated. The request from the client 901 is supplied to thenode server 902 at the link destination address L2.

FIG. 24 is a diagram showing a data structure of a cache table.

A cache table 912 contains, for each address, a directory name,information indicating validity of the cache, and time stampinformation. When the content C1 on the channel ch1 is designated, thecache table address adr11 in the cache table 912 is referred to. Thedirectory name of the cache table address adr11 in the cache table 912is d1, the validity is “O”, the time stamp is t11. This indicates thatthe content C1 is cached in a storage device having the directory named1 at the time instant t11, and the data is currently valid. Thus, thecontent C1 can be obtained by reading the data from the storage devicehaving the directory name of d1. It should be noted that the storagedevice corresponds to the caching means described in claims.

In this case, the node server 902 is only required to send the cachedcontent C1 directly to the client 901. It is unnecessary to make a pushrequest to the content server 903. The validity of “X” in the cachetable 912 indicates, for example, a time-out content. Such a content isdeleted first and thereafter is read from the content server 903 andcached again. The re-cached content is supplied to the client 901. Inaddition, the validity of the cache table 912 is changed to “O” by theupdate to the latest content.

It should be noted that the node server 902 can cache only a limitedvolume of data, so that the data to be cached are determined accordingto a statistics table.

FIG. 25 is a diagram showing a data structure of a statistics table.

A statistics table 913 has a configuration in which data such as acontent name, a link destination, the number of retrievals, an accesstime, and a volume are stored for each rank level. The rank in thestatistics table 913 may be, for example, determined in order of thenumber of retrievals.

For example, contents up to the rank “5” are cached. The statisticstable is updated in the number of retrievals and the access timeaccording to a request from the client 901, and the rank is updatedaccording to the number of retrievals.

Next, operations in the node server 902 are described in detail.

FIG. 26 shows a process flowchart of the node server 902.

When receiving a request from the client 901 in step S23-1, the nodeserver 902 refers to the address table 911 and determines whether thecontent that is asked for by the request is under the management of thelocal node server 902, in step S23-2. The determination in step S23-2may be done according to, for example, the validity of the node serveraddress in the address table 911. The state in which a valid linkdestination address is stored in the node server address indicates thatthe content that is asked for is under the management of the linkdestination node server 902, so that the request is sent to the linkdestination node server in step S23-3.

On the other hand, when step S23-3 indicates that the content that isasked for is under the management of the local node server 902, thestatistics table 913 is updated. Next, the node server refers to thecache address table 912 in step S23-5 in order to determine whether thecached content is valid or not.

When, in step S23-5, the cached content is valid, the node server readsthe content from the storage device having the directory name designatedby the cache address table 912 and sends it to the client 901, in stepS23-6.

When, in step S23-5, the cached content is invalid, then the node serverrefers to the statistics table 913 in step S23-7 and determines whetherthe rank of the content that is asked for is equal to or higher than apredetermined rank in step S23-8. By referring to the address table 911,the node server reads the content from the content server 903 and thencaches the content that is read from the content server 903 in stepS23-8.

When the rank of the content that is asked for is equal to or lower thanthe predetermined rank in step S23-8, then the address table 911 isreferred to in step S23-10 to issue a push request to the content server903 that provides the corresponding content. The content server 903reads the content in response to the push request from the node server902 and supplies it to the client 901.

As described above, the contents that are retrieved many times can besupplied from the node server 902 directly to the client 901. Therefore,contents can be exchanged at a high speed.

It should be noted that the node server 902 may redundantly have addresstables 911 of the node servers 902 in the upper and lower levelsthereof.

FIG. 27 is a configuration diagram of essential parts which is appliedto a case where the node server 902 contains address tables 911 at theupper and lower levels of the hierarchical structure.

As shown in FIG. 27, a node server 902-i contains the address tables 911of the node servers 902-i+1 and 902-i-1 at the upper and lower levels ofthe hierarchical structure. This makes it possible to use the nodeserver 902-i in place of the function of the node servers 902-i+1 and902-i-1 in case where they are not available for some reasons. Thisincreases reliability of the system.

1-19. (canceled)
 20. A content presentation program that directs acomputer to execute: a content acquisition step to acquire a content oneach of predetermined channels; and a display control step to cause thecontent that is acquired in the first step to be displayed in a windowthat is determined previously for said channels, out of a plurality ofdisplay sections that are defined within a predetermined window.
 21. Aninformation processor that causes a content to be displayed on a displayunit, comprising: content acquisition means for acquiring a content oneach of predetermined channels; and display control means that causesthe content that is acquired in the first step to be displayed in awindow that is determined previously for said channels, out of aplurality of display sections that are defined within a predeterminedwindow.
 22. An information processing method comprising: a contentacquisition step to acquire a content on each of predetermined channels;and a display control step to cause the content that is acquired in thefirst step to be displayed in a window that is determined previously forsaid channels, out of a plurality of display sections that are definedwithin a predetermined window.
 23. A communication method fortransmitting packets between a client and a server through a pluralityof intermediary devices, comprising: performing communications more thanonce by using a certain command between said client and said server;measuring a communication performance during said communications;detecting a communication route of said certain command by adding theaddresses of the intermediary devices to said certain command on anadd-per-passage basis; and performing communications between said clientand said server through the communication route which yields the maximumcommunication performance with respect to said communication route. 24.An intermediary device which intermediates a client and a server,comprising: command detection means for detecting a certain command thatis transmitted between said client and said server; route informationdetection means for detecting route information contained incommunication data that are transmitted between said client and saidserver; and intermediacy control means which is adapted to send saidcertain command to a network after adding its local address to it whensaid certain command is detected, said intermediacy control meansrelaying the communication data when its local address is contained inthe route information detected by said route information detectionmeans.
 25. A communication system for performing communications betweena client and a server through a network, comprising: bypassing meanswhich allows communication between said client and said server whilebypassing said network.
 26. The communication system as claimed in claim25, comprising: measuring means for measuring a communicationperformance between said client and said server; and communicationcontrol means that causes said bypassing means to bypass said networkwhen the communication performance measured by said measuring means islowered under a certain level.
 27. A communication system for performingcommunications between a client and a server through a network, whereinsaid server comprises a node server adapted to accept a request fromsaid client; and a content server adapted to send, to said client, acontent that is asked for by said client in answer to a request fromsaid node server.
 28. A communication system for performingcommunications between a client and a server through a network, whereinsaid server comprises a content server which provides a content to saidclient; and a node server adapted to accept a request from said clientand to provide said client with link destination information of saidcontent server that stores a content that is asked for by said client;said client being adapted to ask for a content to said content serveraccording to the link destination information from said node server. 29.The communication system as claimed in claim 28, wherein said nodeserver has a hierarchical structure based on said content or its linkdestination; said node server having a function to backup informationabout contents managed by node servers at upper and lower levels.
 30. Acommunication device for performing communications with a client througha network, said communication device being adapted to provide a contentto said client by means of accessing a content server that providescontent in answer to a request from said client, comprising: cachingmeans for caching contents in said content server according to thefrequency of accesses from said client; said communication device beingadapted to send, to said client, a cashed content in answer to a requestfrom said client.